<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
</head>
<body>
    <script>
    var a=10;
    function test(){
        a=100;
        console.log(a);//100
        console.log(this.a);//10
        var a;
        console.log(a);//100
        // 这个题还是考察函数预编译变量提升问题，第一步还是找变量声明以及函数声明，test函数中有个var a,
        // 所以呗提升到作用域最顶端，三楼函数开始执行，test函数中第一行赋值100，所以打印100，
        // 第二个this.a，这个要看函数是否为独立执行函数，test()前面并没有什么上下文的引用，所以  this指向window,
        // 第二个打印10，第三个此时a还是100，所以最后打印100
    }    
    test();
    </script>
</body>
</html>